package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import com.project.bean.GradeBean;
import com.project.bean.RoleBean;

import java.util.List;

/**
 * 角色表业务成接口
 */
public interface IRoleService {


    /**
     * 按照id查询角色，
     * 同时查询角色权限
     * @param id    id
     */
    public RoleBean findById(int id);


    /**
     * 分页查询角色
     * @param page      页码
     * @param pageSize  每条显示数
     * @return          角色对象
     */
    public PageInfo<RoleBean> findAll(int page, int pageSize);


    /***
     * 按id删除角色，
     * 同时删除两个关联关系
     * @param id    用户id
     */
    public void del(int id);


    /**
     * 先查询是否重名，不重名添加角色
     * 同时添加角色权限
     * 否则返回false
     * @param role          角色对象
     * @param gradeArray    权限数组
     */

    public boolean addRole(RoleBean role,int[] gradeArray);




    /***
     * 按id修改角色权限
     * @param id            id
     * @param gradeArray    权限数组
     */
    public void updateRoleGrade(int id,int[] gradeArray);



    /**
     * 根据用户id，查找角色权限
     * @param userId    用户id
     * @return
     */
    public List<RoleBean> findRoleGradeByUserId(int userId);
}
